// ==================================================================================
// Shared Genomics Project MPI Codebase
// Version 1.0 30/04/2010
//
// (c) 2010 University of Manchester all rights reserved
//
// This file is distributed under the GNU General Public License, Version 2.  
// Please see the file COPYING.txt for more details
// ==================================================================================

/*!
\file
\brief 
    Declarations of example functions demonstrating 
	MPI invocation of SNP analysis programs
\ingroup examples
*/
#ifndef _EXAMPLES_H_
#define _EXAMPLES_H_

/*!
\brief Binary Encoding of Text Genomic Data-set
\ingroup examples
\details
	Example documenting the invocation of the program \ref binary_ped
	to convert a text based PLINK data-set to a binary data-set
	so that information can be quickly segmented and distributed across
	the processor cores of a cluster.
*/
void ex_0001_binary_encoding_dataset(void);

/*!
\brief Filtering a binary encoded Data-set (BT, SNP major)
\ingroup examples 
*/
void ex_0002_filtering_binary_encoding_dataset_s(void);

/*!
\brief Filtering a binary encoded Data-set (BT, Individual major)
\ingroup examples 
*/
void ex_0003_filtering_binary_encoding_dataset_i(void);

/*!
\brief Filtering a binary encoded Data-set (BT, Individual major)
\ingroup examples 
*/
void ex_0004_filtering_binary_encoding_dataset_s(void);

/*!
\brief Filtering a binary encoded Data-set (QT, Individual major)
\ingroup examples 
*/
void ex_0005_filtering_binary_encoding_dataset_i(void);

/*!
\brief Single Association Scan (BT)
\ingroup examples
*/
void ex_0006_association_scan_bt(void);

/*!
\brief Single Association Scan (BT, Emulating Processor Failure)
\ingroup examples
*/
void ex_0007_association_scan_bt_ft(void);

/*!
\brief Single Association Scan (QT, Emulating Processor Failure)
\ingroup examples
*/
void ex_0008_association_scan_qt_ft(void);

/*!
\brief Model Association Scan (BT, Genotypic, Emulating Processor Failure)
\ingroup examples
*/
void ex_0009_model_association_ft(void);

/*!
\brief Fast Epistasis (BT, N-cores, No permutation)
\ingroup examples
*/
void ex_0010_fast_epistasis_bt(void);

/*!
\brief Fast Epistasis with permutation (BT, N-cores, SNP Major)
\ingroup examples
*/
void ex_0011_fast_epistasis_bt_with_permutation(void);

/*!
\brief Stratified Association (BT, N-cores, SNP Major, PCMH)
\ingroup examples
*/
void ex_0012_stratified_assoc_scan_bt(void);

/*!
\brief Slow Epistasis (BT, N-cores, No permutation, Individual Major)
\ingroup examples
*/
void ex_0013_slow_epistasis_bt(void);

/*!
\brief Slow Epistasis with permutation (BT, N-cores, Individual Major)
\ingroup examples
*/
void ex_0014_slow_epistasis_bt_with_permutation(void);

/*!
\brief Slow Epistasis (QT, N-cores, Individual Major)
\ingroup examples
*/
void ex_0015_slow_epistasis_qt(void);

/*!
\brief Slow Epistasis with permutation (BT, N-cores, Individual Major)
\ingroup examples
*/
void ex_0016_slow_epistasis_qt_with_permutation(void);

#endif // _EXAMPLES_H_
